home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 15 / BBS in a box XV-2.iso / Files II / Prog / N-P / NString 1.0 beta.sit / NString 1.0 beta / Sources / NString_Character.cxx < prev    next >
MacBinary  |  1994-11-11  |  2.5 KB  |  [TEXT/KAHL]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, Fri Nov 11 19:25:52 1994, modified Fri Nov 11 19:25:52 1994, creator Think C, type ASCII, 1905 bytes "NString_Character.cxx" , at 0x7f1 478 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[KAHL]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 15 4e 53 74 72 69 6e | 67 5f 43 68 61 72 61 63 |..NStrin|g_Charac|
|00000010| 74 65 72 2e 63 78 78 00 | 00 00 00 00 00 00 00 00 |ter.cxx.|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4b 41 48 | 4c 00 00 00 00 00 00 00 |.TEXTKAH|L.......|
|00000050| 00 00 00 00 00 07 71 00 | 00 01 de aa e9 bc 10 aa |......q.|........|
|00000060| e9 bc 10 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 be dd 00 00 |........|........|
|00000080| 0d 23 69 6e 63 6c 75 64 | 65 20 3c 73 74 72 69 6e |.#includ|e <strin|
|00000090| 67 2e 68 3e 0d 23 69 6e | 63 6c 75 64 65 20 3c 73 |g.h>.#in|clude <s|
|000000a0| 74 64 6c 69 62 2e 68 3e | 0d 0d 23 69 6e 63 6c 75 |tdlib.h>|..#inclu|
|000000b0| 64 65 20 22 4e 53 74 72 | 69 6e 67 2e 68 22 0d 23 |de "NStr|ing.h".#|
|000000c0| 69 6e 63 6c 75 64 65 20 | 22 4e 53 74 72 69 6e 67 |include |"NString|
|000000d0| 5f 4d 69 73 63 2e 68 22 | 0d 0d 2f 2f 5f 5f 5f 5f |_Misc.h"|..//____|
|000000e0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000000f0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000100| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000110| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000120| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 0d 0d 63 |________|_____..c|
|00000130| 68 61 72 20 4e 53 74 72 | 69 6e 67 3a 3a 6f 70 65 |har NStr|ing::ope|
|00000140| 72 61 74 6f 72 5b 5d 20 | 28 63 6f 6e 73 74 20 75 |rator[] |(const u|
|00000150| 6e 73 69 67 6e 65 64 20 | 6c 6f 6e 67 20 69 6e 74 |nsigned |long int|
|00000160| 20 6b 29 20 63 6f 6e 73 | 74 0d 7b 0d 09 69 66 20 | k) cons|t.{..if |
|00000170| 28 28 6b 20 3d 3d 20 30 | 29 20 7c 7c 20 28 6b 20 |((k == 0|) || (k |
|00000180| 3e 20 73 62 2d 3e 6c 65 | 6e 29 29 0d 09 09 55 53 |> sb->le|n))...US|
|00000190| 41 47 45 5f 45 52 52 28 | 22 6f 70 65 72 61 74 6f |AGE_ERR(|"operato|
|000001a0| 72 5b 5d 20 28 63 6f 6e | 73 74 20 75 6e 73 69 67 |r[] (con|st unsig|
|000001b0| 6e 65 64 20 6c 6f 6e 67 | 20 69 6e 74 29 22 2c 20 |ned long| int)", |
|000001c0| 22 41 74 74 65 6d 70 74 | 65 64 20 63 68 61 72 61 |"Attempt|ed chara|
|000001d0| 63 74 65 72 20 72 65 61 | 64 20 61 63 63 65 73 73 |cter rea|d access|
|000001e0| 20 69 6e 20 4e 53 74 72 | 69 6e 67 20 6f 75 74 20 | in NStr|ing out |
|000001f0| 6f 66 20 72 61 6e 67 65 | 22 29 3b 0d 09 72 65 74 |of range|");..ret|
|00000200| 75 72 6e 20 28 73 62 2d | 3e 73 74 72 5b 6b 2d 31 |urn (sb-|>str[k-1|
|00000210| 5d 29 3b 0d 7d 0d 0d 2f | 2f 5f 5f 5f 5f 5f 5f 5f |]);.}../|/_______|
|00000220| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000230| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000240| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000250| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000260| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 0d 0d 63 68 61 72 |________|__..char|
|00000270| 20 4e 53 74 72 69 6e 67 | 3a 3a 73 65 74 63 68 61 | NString|::setcha|
|00000280| 72 20 28 63 6f 6e 73 74 | 20 75 6e 73 69 67 6e 65 |r (const| unsigne|
|00000290| 64 20 6c 6f 6e 67 20 69 | 6e 74 20 6b 2c 20 63 6f |d long i|nt k, co|
|000002a0| 6e 73 74 20 63 68 61 72 | 20 63 29 0d 7b 0d 09 63 |nst char| c).{..c|
|000002b0| 6f 6e 73 74 20 63 68 61 | 72 20 2a 66 6e 61 6d 65 |onst cha|r *fname|
|000002c0| 20 3d 20 22 73 65 74 63 | 68 61 72 20 28 63 6f 6e | = "setc|har (con|
|000002d0| 73 74 20 75 6e 73 69 67 | 6e 65 64 20 6c 6f 6e 67 |st unsig|ned long|
|000002e0| 20 69 6e 74 2c 20 63 6f | 6e 73 74 20 63 68 61 72 | int, co|nst char|
|000002f0| 29 22 3b 09 09 2f 2f 20 | 74 68 65 20 6d 65 74 68 |)";..// |the meth|
|00000300| 6f 64 27 73 20 6e 61 6d | 65 0d 09 63 68 61 72 20 |od's nam|e..char |
|00000310| 6f 6c 64 3b 0d 09 0d 09 | 69 66 20 28 28 6b 20 3d |old;....|if ((k =|
|00000320| 3d 20 30 29 20 7c 7c 20 | 28 6b 20 3e 20 73 62 2d |= 0) || |(k > sb-|
|00000330| 3e 6c 65 6e 29 29 0d 09 | 09 55 53 41 47 45 5f 45 |>len))..|.USAGE_E|
|00000340| 52 52 28 66 6e 61 6d 65 | 2c 20 22 41 74 74 65 6d |RR(fname|, "Attem|
|00000350| 70 74 65 64 20 63 68 61 | 72 61 63 74 65 72 20 77 |pted cha|racter w|
|00000360| 72 69 74 65 20 61 63 63 | 65 73 73 20 69 6e 20 4e |rite acc|ess in N|
|00000370| 53 74 72 69 6e 67 20 6f | 75 74 20 6f 66 20 72 61 |String o|ut of ra|
|00000380| 6e 67 65 22 29 3b 0d 09 | 69 66 20 28 63 20 3d 3d |nge");..|if (c ==|
|00000390| 20 27 5c 30 27 29 0d 09 | 09 55 53 41 47 45 5f 45 | '\0')..|.USAGE_E|
|000003a0| 52 52 28 66 6e 61 6d 65 | 2c 20 22 41 74 74 65 6d |RR(fname|, "Attem|
|000003b0| 70 74 65 64 20 77 72 69 | 74 65 20 6f 66 20 4e 55 |pted wri|te of NU|
|000003c0| 4c 20 63 68 61 72 61 63 | 74 65 72 20 69 6e 20 4e |L charac|ter in N|
|000003d0| 53 74 72 69 6e 67 22 29 | 3b 0d 09 69 66 20 28 73 |String")|;..if (s|
|000003e0| 62 2d 3e 72 65 66 73 20 | 3e 20 31 29 09 09 09 09 |b->refs |> 1)....|
|000003f0| 09 09 09 2f 2f 20 74 68 | 65 20 73 74 72 69 6e 67 |...// th|e string|
|00000400| 20 62 6f 64 79 20 69 73 | 20 75 73 65 64 20 62 79 | body is| used by|
|00000410| 20 61 6e 6f 74 68 65 72 | 20 4e 53 74 72 69 6e 67 | another| NString|
|00000420| 3a 20 6d 75 73 74 20 64 | 75 70 6c 69 63 61 74 65 |: must d|uplicate|
|00000430| 20 69 74 20 74 6f 20 70 | 72 65 76 65 6e 74 0d 09 | it to p|revent..|
|00000440| 09 69 66 20 28 21 20 44 | 75 70 6c 69 63 61 74 65 |.if (! D|uplicate|
|00000450| 53 42 28 29 29 09 09 09 | 09 09 2f 2f 09 09 63 68 |SB())...|..//..ch|
|00000460| 61 6e 67 65 73 20 69 6e | 20 63 6f 6d 6d 6f 6e 20 |anges in| common |
|00000470| 62 6f 64 79 0d 09 09 09 | 4f 55 54 5f 4f 46 5f 4d |body....|OUT_OF_M|
|00000480| 45 4d 28 66 6e 61 6d 65 | 29 3b 0d 09 6f 6c 64 20 |EM(fname|);..old |
|00000490| 3d 20 73 62 2d 3e 73 74 | 72 5b 6b 2d 31 5d 3b 0d |= sb->st|r[k-1];.|
|000004a0| 09 73 62 2d 3e 73 74 72 | 5b 6b 2d 31 5d 20 3d 20 |.sb->str|[k-1] = |
|000004b0| 63 3b 0d 09 72 65 74 75 | 72 6e 20 28 6f 6c 64 29 |c;..retu|rn (old)|
|000004c0| 3b 0d 7d 0d 0d 2f 2f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |;.}..//_|________|
|000004d0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000004e0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000004f0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000500| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000510| 5f 5f 5f 5f 5f 5f 5f 5f | 0d 0d 4e 53 74 72 69 6e |________|..NStrin|
|00000520| 67 26 20 4e 53 74 72 69 | 6e 67 3a 3a 74 68 72 6f |g& NStri|ng::thro|
|00000530| 75 67 68 28 69 6e 74 20 | 28 2a 61 63 74 69 6f 6e |ugh(int |(*action|
|00000540| 29 28 63 6f 6e 73 74 20 | 63 68 61 72 2c 20 63 6f |)(const |char, co|
|00000550| 6e 73 74 20 75 6e 73 69 | 67 6e 65 64 20 6c 6f 6e |nst unsi|gned lon|
|00000560| 67 20 69 6e 74 2c 20 4e | 53 74 72 69 6e 67 26 29 |g int, N|String&)|
|00000570| 2c 20 64 69 72 65 63 74 | 69 6f 6e 5f 74 20 64 69 |, direct|ion_t di|
|00000580| 72 29 0d 7b 0d 09 73 74 | 72 62 6f 64 79 20 2a 74 |r).{..st|rbody *t|
|00000590| 68 72 75 5f 73 62 20 3d | 20 73 62 3b 0d 09 75 6e |hru_sb =| sb;..un|
|000005a0| 73 69 67 6e 65 64 20 6c | 6f 6e 67 20 69 6e 74 20 |signed l|ong int |
|000005b0| 69 6e 64 65 78 3b 0d 09 | 69 6e 74 20 73 74 6f 70 |index;..|int stop|
|000005c0| 20 3d 20 30 3b 0d 09 0d | 09 69 66 20 28 73 62 2d | = 0;...|.if (sb-|
|000005d0| 3e 6c 65 6e 20 3d 3d 20 | 30 29 0d 09 09 72 65 74 |>len == |0)...ret|
|000005e0| 75 72 6e 20 28 2a 74 68 | 69 73 29 3b 0d 09 09 0d |urn (*th|is);....|
|000005f0| 09 74 68 72 75 5f 73 62 | 2d 3e 72 65 66 73 2b 2b |.thru_sb|->refs++|
|00000600| 3b 09 09 09 09 09 09 09 | 09 09 09 09 09 09 09 09 |;.......|........|
|00000610| 2f 2f 20 74 68 65 20 69 | 74 65 72 61 74 6f 72 20 |// the i|terator |
|00000620| 69 73 20 6e 6f 77 20 6c | 6f 6f 6b 69 6e 67 20 61 |is now l|ooking a|
|00000630| 74 20 74 68 65 20 73 74 | 72 69 6e 67 20 62 6f 64 |t the st|ring bod|
|00000640| 79 0d 09 0d 09 69 66 20 | 28 64 69 72 20 3d 3d 20 |y....if |(dir == |
|00000650| 46 4f 52 57 41 52 44 29 | 0d 09 09 66 6f 72 20 28 |FORWARD)|...for (|
|00000660| 69 6e 64 65 78 3d 31 3b | 20 28 21 20 73 74 6f 70 |index=1;| (! stop|
|00000670| 29 20 26 26 20 28 69 6e | 64 65 78 20 3c 3d 20 74 |) && (in|dex <= t|
|00000680| 68 72 75 5f 73 62 2d 3e | 6c 65 6e 29 3b 20 69 6e |hru_sb->|len); in|
|00000690| 64 65 78 2b 2b 29 0d 09 | 09 09 73 74 6f 70 20 3d |dex++)..|..stop =|
|000006a0| 20 61 63 74 69 6f 6e 28 | 74 68 72 75 5f 73 62 2d | action(|thru_sb-|
|000006b0| 3e 73 74 72 5b 69 6e 64 | 65 78 2d 31 5d 2c 20 69 |>str[ind|ex-1], i|
|000006c0| 6e 64 65 78 2c 20 2a 74 | 68 69 73 29 3b 0d 09 65 |ndex, *t|his);..e|
|000006d0| 6c 73 65 0d 09 09 66 6f | 72 20 28 69 6e 64 65 78 |lse...fo|r (index|
|000006e0| 3d 74 68 72 75 5f 73 62 | 2d 3e 6c 65 6e 3b 20 28 |=thru_sb|->len; (|
|000006f0| 21 20 73 74 6f 70 29 20 | 26 26 20 28 69 6e 64 65 |! stop) |&& (inde|
|00000700| 78 20 3e 20 30 29 3b 20 | 69 6e 64 65 78 2d 2d 29 |x > 0); |index--)|
|00000710| 0d 09 09 09 73 74 6f 70 | 20 3d 20 61 63 74 69 6f |....stop| = actio|
|00000720| 6e 28 74 68 72 75 5f 73 | 62 2d 3e 73 74 72 5b 69 |n(thru_s|b->str[i|
|00000730| 6e 64 65 78 2d 31 5d 2c | 20 69 6e 64 65 78 2c 20 |ndex-1],| index, |
|00000740| 2a 74 68 69 73 29 3b 0d | 0d 09 69 66 20 28 28 2d |*this);.|..if ((-|
|00000750| 2d 28 74 68 72 75 5f 73 | 62 2d 3e 72 65 66 73 29 |-(thru_s|b->refs)|
|00000760| 29 20 3d 3d 20 30 29 09 | 09 09 09 09 09 09 09 09 |) == 0).|........|
|00000770| 09 2f 2f 20 74 68 65 20 | 73 74 72 69 6e 67 20 62 |.// the |string b|
|00000780| 6f 64 79 20 69 73 6e 27 | 74 20 75 73 65 64 20 61 |ody isn'|t used a|
|00000790| 6e 79 20 6c 6f 6e 67 65 | 72 20 2d 3e 20 6d 75 73 |ny longe|r -> mus|
|000007a0| 74 20 66 72 65 65 20 69 | 74 0d 09 7b 0d 09 09 66 |t free i|t..{...f|
|000007b0| 72 65 65 28 74 68 72 75 | 5f 73 62 2d 3e 73 74 72 |ree(thru|_sb->str|
|000007c0| 29 3b 0d 09 09 64 65 6c | 65 74 65 20 74 68 72 75 |);...del|ete thru|
|000007d0| 5f 73 62 3b 0d 09 7d 0d | 09 0d 09 72 65 74 75 72 |_sb;..}.|...retur|
|000007e0| 6e 20 28 2a 74 68 69 73 | 29 3b 0d 7d 0d 0d 0d 0d |n (*this|);.}....|
|000007f0| 0d 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000800| 00 00 01 00 00 00 01 70 | 00 00 00 70 00 00 00 6e |.......p|...p...n|
|00000810| 6e 65 20 69 6e 74 20 4e | 53 74 72 69 6e 67 3a 3a |ne int N|String::|
|00000820| 6f 70 65 72 61 74 6f 72 | 21 3d 20 28 63 6f 6e 73 |operator|!= (cons|
|00000830| 15 4e 53 74 72 69 6e 67 | 5f 43 68 61 72 61 63 74 |.NString|_Charact|
|00000840| 65 72 2e 63 78 78 02 00 | 00 00 50 61 72 74 53 49 |er.cxx..|..PartSI|
|00000850| 00 00 50 61 72 74 53 49 | 54 21 00 00 00 00 00 00 |..PartSI|T!......|
|00000860| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000870| 00 00 ab 4c 25 31 00 00 | 00 00 00 00 01 de 5f 5f |...L%1..|......__|
|00000880| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|00000890| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000008a0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000008b0| 5f 5f 5f 5f 5f 5f 5f 5f | 5f 5f 5f 5f 5f 5f 5f 5f |________|________|
|000008c0| 5f 0d 0d 69 6e 6c 69 6e | 65 20 69 6e 74 20 4e 53 |_..inlin|e int NS|
|000008d0| 74 72 69 6e 67 3a 3a 6f | 70 65 72 61 74 6f 72 3e |tring::o|perator>|
|000008e0| 3d 20 28 63 6f 6e 73 74 | 20 4e 53 74 72 69 6e 67 |= (const| NString|
|000008f0| 26 20 73 29 0d 7b 0d 09 | 72 65 74 75 72 6e 20 28 |& s).{..|return (|
|00000900| 00 00 00 04 00 07 00 02 | 00 00 00 0a 00 0a 06 47 |........|.......G|
|00000910| 65 6e 65 76 61 25 00 00 | 00 0a 00 00 06 c9 00 37 |eneva%..|.......7|
|00000920| 00 00 00 00 00 00 00 48 | 00 0a 47 65 6e 65 76 61 |.......H|..Geneva|
|00000930| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000940| 00 00 00 00 00 00 00 00 | 00 00 00 07 00 02 00 2c |........|.......,|
|00000950| 00 03 01 dd 02 7d 00 2a | 00 04 01 dc 02 7c aa e9 |.....}.*|.....|..|
|00000960| 75 c1 00 00 00 2a 00 00 | 00 2a 00 00 00 00 00 00 |u....*..|.*......|
|00000970| 00 00 01 00 00 00 01 70 | 00 00 00 70 00 00 00 6e |.......p|...p...n|
|00000980| 00 bb c0 80 12 5e 00 00 | 00 1c 00 6e 00 03 45 54 |.....^..|...n..ET|
|00000990| 41 42 00 00 00 22 45 46 | 4e 54 00 00 00 2e 42 4b |AB..."EF|NT....BK|
|000009a0| 50 54 00 00 00 3a 4d 50 | 53 52 00 00 00 46 03 ec |PT...:MP|SR...F..|
|000009b0| ff ff 00 00 00 00 00 00 | 00 00 03 eb ff ff 00 00 |........|........|
|000009c0| 00 08 00 00 00 00 22 31 | ff ff 00 00 00 16 00 00 |......"1|........|
|000009d0| 00 00 03 ed ff ff 00 00 | 00 24 00 bb bb fc 00 00 |........|.$......|
|000009e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000009f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+